package com.ruoyi.business.service;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.UUID;


/**
 * @title: SmsService
 * @copyright: copyright (c) 2023
 * @author: jiangguanjun
 * @date: 2023/10/10 16:07
 * @firstReview:
 * @lastReview:
 * @desc:
 */
@Slf4j
@Component
public class SmsService {

    @Value("${tencent.secretId}")
    private String secretId  ;

    @Value("${tencent.secretKey}")
    private String secretKey ;

    @Value("${tencent.region}")
    private String region ;

    @Value("${tencent.sms.appId}")
    private String appId ;

    @Value("${tencent.sms.signName}")
    private String signName ;




    /*public Boolean sendSms(String phone,String[] content,String templateId){

        log.info("secretId::{},secretKey:{}",secretId,secretKey);
        try{
            // 实例化一个认证对象，入参需要传入腾讯云账户 SecretId 和 SecretKey，此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考，建议采用更安全的方式来使用密钥，请参见：https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
            Credential cred = new Credential(secretId, secretKey);
            // 实例化一个http选项，可选的，没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("sms.tencentcloudapi.com");
            // 实例化一个client选项，可选的，没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            SmsClient client = new SmsClient(cred, region, clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            SendSmsRequest req = new SendSmsRequest();
            String[] phoneNumberSet1 = {phone};
            req.setPhoneNumberSet(phoneNumberSet1);

            req.setSmsSdkAppId(appId);
            req.setSignName(signName);
            req.setTemplateId(templateId);


            req.setTemplateParamSet(content);

            String sendId = UUID.randomUUID().toString() ;
            req.setSenderId(sendId);

            // 返回的resp是一个SendSmsResponse的实例，与请求对象对应
            SendSmsResponse resp = client.SendSms(req);
            // 输出json格式的字符串回包
            log.info("发送返回结果：：：{}",SendSmsResponse.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            log.info("发送失败",e);
            return false ;
        }
        return true ;
    }*/

}
